package modelo;

import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class ProyectoDAO {

	/**
	 * @param args
	 */
	public ProyectoDAO(){
		super();
	}
	
	
	public int generarCodigoProyecto(){
		String tiraSQL = "SELECT MAX(codigo) as Codigo FROM proyecto";
		ResultSet resultSet = Conexion.consultar(tiraSQL);
		try {
			if (resultSet.equals(null))
				return 1;
			else			
				return  resultSet.getInt("codigo") + 1;
			
			
		} catch (SQLException e) {
			e.printStackTrace();
			return 0;
		}
	}
	
public void registrarProyecto(Proyecto proyecto){
	
	String tiraSQL = "INSERT INTO proyecto" +
					 "(codigo,nombre,tematica,resumen,palabrasclaves,antecedentes,problema,metodologia,bibliografia,estado,fechapculminacion,grupo,status,conclusion)" +
					 "VALUES ("+
					 "'"+ proyecto.getCodigo()+"',"+
					 "'"+ proyecto.getNombre()+"',"+
					 "'"+ proyecto.getTematica()+"',"+
					 "'"+ proyecto.getResumen()+"',"+
					 "'"+ proyecto.getPalabrasclaves()+"',"+
					 "'"+ proyecto.getAntecedentes()+"',"+
					 "'"+ proyecto.getProblema()+"',"+
					 "'"+ proyecto.getMetodologia()+ "', "+
					 "'"+proyecto.getBibliografia()+"',"+
					 "'"+proyecto.getEstado()+"',"+
					 "'"+proyecto.getFecha()+"',"+
					 "'"+proyecto.getGrupo()+"',"+
					 "'"+proyecto.getStatus()+"',"+
					 "'"+proyecto.getConclusion()+"')";
	Conexion.ejecutar(tiraSQL);
	}

public void modificarProyecto(Proyecto proyecto){
	
	
	String tiraSQL ="UPDATE proyecto SET "+
	
			 " estado = '"+ proyecto.getEstado() +"',"+
			
			 " nombre = '"+ proyecto.getNombre()+"',"+
			 
			 " resumen = '"+ proyecto.getResumen() +"',"+
			 
			 " palabrasclaves = '"+ proyecto.getPalabrasclaves() +"',"+
			 
			 " antecedentes = '"+ proyecto.getAntecedentes() +"',"+
			 
			 " problema = '"+ proyecto.getProblema() +"',"+
			 
			 " metodologia = '"+ proyecto.getMetodologia() +"',"+
			 
			 " bibliografia = '"+ proyecto.getBibliografia() +"',"+
			 
			 " fechapculminacion = '"+ proyecto.getFecha() +"',"+
			 
			 " grupo = '"+ proyecto.getGrupo() +"',"+
			 
			 " conclusion = '"+ proyecto.getConclusion() +"',"+
			 
			 " tematica = '"+ proyecto.getTematica() +"',"+
			 
			 "WHERE codigo = '"+ proyecto.getCodigo() + "'";
	
	Conexion.ejecutar(tiraSQL);
	
	System.out.println(proyecto.getCodigo());
	
	/*String tiraSQL =" UPDATE Proyecto SET"+
					"resumen = '"+ proyecto.getResumen()+"',"+
					"palabrasclaves = '"+ proyecto.getPalabrasclaves() +"'"+
					"antecedentes = '"+ proyecto.getAntecedentes() +"'"+
					" problema = '"+ proyecto.getProblema() +"'"+
					" metodologia = '"+ proyecto.getMetodologia() +"'"+
					" bibliografia = '"+ proyecto.getBibliografia() +"'"+
					" fechapculminacion = '"+ proyecto.getFecha() +"'"+
					" estado = '"+ proyecto.getEstado() +"'"+
					//" nombre = '"+ proyecto.getNombre() +"'"+
					" codigogrupo = '"+ proyecto.getGrupo() +"'"+
					" status = '"+ proyecto.getStatus() +"'"+
					" conclusion = '"+ proyecto.getConclusion() +"'"+
					" tematica = '"+ proyecto.getTematica() +"'"+
					" WHERE codigo = '"+ proyecto.getCodigo() +"'";*/
	//Conexion.ejecutar(tiraSQL);
}

public void eliminarProyecto(String codigo){
	
	String tiraSQL = "UPDATE proyecto SET status = 'E' WHERE codigo = '" + codigo + "'";
	Conexion.ejecutar(tiraSQL);

}
public ArrayList<Proyecto> Proyectos(){
	ArrayList<Proyecto> proyectosactivos= new ArrayList<Proyecto>();
	String tiraSQL = "SELECT * FROM proyecto WHERE status = 'A'";
	ResultSet resultSet = Conexion.consultar(tiraSQL);	
	try {
		while (resultSet.next()) {
			String codProyecto = resultSet.getString("codigo");
			String nomProyecto = resultSet.getString("nombre");				
			String resumen = resultSet.getString("resumen");
			String pclaves = resultSet.getString("palabrasclaves");				
			String problema = resultSet.getString("problema");				
			String antecedentes = resultSet.getString("antecedentes");	
			String metodologia = resultSet.getString("metodologia");	
			String bibliografia = resultSet.getString("bibliografia");	
			Date fecha = resultSet.getDate("fechapculminacion");	
			String estado = resultSet.getString("estado");	
			String codgrupo = resultSet.getString("grupo");	
			String conclusion = resultSet.getString("conclusion");	
			String tematica = resultSet.getString("tematica");	
			String status = resultSet.getString("status");
			Proyecto proyecto = new Proyecto(codProyecto,nomProyecto, tematica,
					resumen,pclaves,antecedentes,
					problema,metodologia, bibliografia,
					estado,fecha,codgrupo,status,conclusion);
			proyectosactivos.add(proyecto);
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return proyectosactivos;
}

public ArrayList<Proyecto> ProyectosCompletos(){
	ArrayList<Proyecto> proyectosactivos= new ArrayList<Proyecto>();
	String tiraSQL = "SELECT * FROM proyecto ";
	ResultSet resultSet = Conexion.consultar(tiraSQL);	
	try {
		while (resultSet.next()) {
			String codProyecto = resultSet.getString("codigo");
			String nomProyecto = resultSet.getString("nombre");				
			String resumen = resultSet.getString("resumen");
			String pclaves = resultSet.getString("palabrasclaves");				
			String problema = resultSet.getString("problema");				
			String antecedentes = resultSet.getString("antecedentes");	
			String metodologia = resultSet.getString("metodologia");	
			String bibliografia = resultSet.getString("bibliografia");	
			Date fecha = resultSet.getDate("fechapculminacion");	
			String estado = resultSet.getString("estado");	
			String codgrupo = resultSet.getString("grupo");	
			String conclusion = resultSet.getString("conclusion");	
			String tematica = resultSet.getString("tematica");	
			String status = resultSet.getString("status");
			Proyecto proyecto = new Proyecto(codProyecto,nomProyecto, tematica,
					resumen,pclaves,antecedentes,
					problema,metodologia, bibliografia,
					estado,fecha,codgrupo,status,conclusion);
			proyectosactivos.add(proyecto);
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return proyectosactivos;
}
public Proyecto buscarProyecto(String codigo){
	
	String tiraSQL = "SELECT * FROM Proyecto WHERE codigo = '" + codigo +"'";
	ResultSet resultSet = Conexion.consultar(tiraSQL);
	try {
		while (resultSet.next()){
			String codProyecto = resultSet.getString("codigo");
			String nomProyecto = resultSet.getString("nombre");				
			String resumen = resultSet.getString("resumen");
			String pclaves = resultSet.getString("palabrasclaves");				
			String problema = resultSet.getString("problema");				
			String antecedentes = resultSet.getString("antecedente");	
			String metodologia = resultSet.getString("metodologia");	
			String bibliografia = resultSet.getString("bibliografia");	
			Date fecha = resultSet.getDate("fechapculminacion");	
			String estado = resultSet.getString("estado");	
			String codgrupo = resultSet.getString("codigogrupo");	
			String conclusion = resultSet.getString("conclusion");	
			String tematica = resultSet.getString("tematica");	
			String status = resultSet.getString("Status");
			Proyecto proyecto = new Proyecto(codProyecto,nomProyecto, tematica,
					resumen,pclaves,antecedentes,
					problema,metodologia, bibliografia,
					estado,fecha,codgrupo,status,conclusion);
			return proyecto;
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return null;
}


}
